約 6,125,506 件
https://w.atwiki.jp/amaeda/pages/31.html
FFTWマニュアル - データの並び - SIMDの並びとfftw_malloc SIMDのならびとfftw_malloc SIMD alignment and fftw_malloc "Single Instruction Multiple Data"(単一命令複数データ流)を意味するSIMDは、 いくつかの、単一命令で複数回(通常2回または4回)同時に操作を行えるプロセッサでサポートされています。SIMD浮動小数点命令は、いくつかのポピューラーなCPUで使えます。たとえば、SSE/SSE2(単精度/倍精度)は、Pentium Ⅲ/Ⅳ以上、3DNow!(単精度)はAMD K7以上、そしてAltiVec(単精度)はPowerPC G4以上で利用できます。FFTWは、これらのいかなるシステムの対してもSIMD命令をサポートするようにコンパイルできます。 FFTWライブラリをSIMDサポートをするようにコンパイルして、リンクすると、ほとんどの複素数変換およびr2c/c2r変換で、劇的なスピードの向上が得られます。しかしながら、このスピードアップを得るためには、FFTWにわたされる複素数(または実数)データの配列は、メモリ空間で特別にならんでなければいけません(典型的には16-byte揃えです)。そして、しばしばこのならびは、mallocなどの通常のメモリ確保ルーチンよりも制約がきびしくなっています。 したがいまして、SIMDに適切な並びを保証するためには、変換に用いるデータをfftw_mallocで確保し、fftw_freeで解放するようにすることをお勧めします。これらの関数はmalloc/freeと、返り値のポインタが、必要とされる並びを保証していること以外は、まったく同じインターフェースおよび動作をします。(これは、memalignだとか、個々のOSのそれに相当する関数を呼ぶことで実現されています) しかし、絶対にfftw_mallocでメモリを確保しなければならないわけではありません。あなたの好きなように、mallocやnew(C++)や、固定サイズの配列の宣言によって確保してもよいでしょう。もし配列が適切に並んでいないようであれば、FFTWはSIMDの拡張命令を使わなくなります。
https://w.atwiki.jp/bg1wiki/pages/91.html
realloc.c #include stdio.h #include stdlib.h int main(void){ int *p_realloc; int i; p_realloc = NULL; printf("malloc example.\n"); p_realloc = (int *)malloc(sizeof(int) * 5); if (p_realloc != NULL){ for (i = 0; i 5; i++){ (*(p_realloc + i)) = i; printf("p_realloc[%d] = %d(after malloc(5))\n", i, (*(p_realloc + i))); } } printf("realloc example.\n"); p_realloc = (int *)realloc(p_realloc, sizeof(int) * 10); if (p_realloc != NULL){ for (i = 0; i 10; i++){ (*(p_realloc + i)) = i; printf("p_realloc[%d] = %d(after realloc(10))\n", i, (*(p_realloc + i))); } } free(p_realloc); p_realloc = NULL; return 0; }
https://w.atwiki.jp/englishlanguage/pages/577.html
LIB... Liberman, Anatoly. 2014. "Three words of American interest in a prospective new etymological dictionary of English ain’t, alairy, and alewife". American Speech 89(2) 170-189. Liberman, Anatoly. 2015. "The shortest history of vowel lengthening in English", in Studies in the History of the English Language VI Evidence and Method in Histories of English, ed. Michael Adams, Laurel J. Brinton R. D. Fulk, pp. 161-182. Berlin De Gruyter. Liberman, M. A. Prince. 1977. "On Stress and Linguistic Rhythm". Linguistic Inquiry 7 249-336.
https://w.atwiki.jp/bg1wiki/pages/90.html
calloc.c #include stdio.h #include stdlib.h int main(void){ int *p_malloc; int *p_calloc; int i; p_malloc = NULL; p_calloc = NULL; printf("malloc example.\n"); printf("first call malloc.\n"); p_malloc = (int *)malloc(sizeof(int) * 5); if (p_malloc != NULL){ for (i = 0; i 5; i++){ (*(p_malloc + i)) = i; printf("p_malloc[%d] = %d(input now)\n", i, (*(p_malloc + i))); } } printf("first call free.\n"); free(p_malloc); p_malloc = NULL; printf("second call malloc.\n"); p_malloc = (int *)malloc(sizeof(int) * 5); if (p_malloc != NULL){ for (i = 0; i 5; i++){ printf("p_malloc[%d] = %d(no input)\n", i, (*(p_malloc + i))); } } printf("second call free.\n"); free(p_malloc); p_malloc = NULL; printf("calloc example.\n"); printf("first call calloc.\n"); p_calloc = (int *)calloc(5, sizeof(int)); if (p_calloc != NULL){ for (i = 0; i 5; i++){ (*(p_calloc + i)) = i; printf("p_calloc[%d] = %d(input now)\n", i, (*(p_calloc + i))); } } printf("first call free.\n"); free(p_calloc); p_calloc = NULL; printf("second call calloc.\n"); p_calloc = (int *)calloc(5, sizeof(int)); if (p_calloc != NULL){ for (i = 0; i 5; i++){ printf("p_calloc[%d] = %d(no input)\n", i, (*(p_calloc + i))); } } printf("second call free.\n"); free(p_calloc); p_calloc = NULL; return 0; }
https://w.atwiki.jp/mopsprogramming/pages/116.html
もう一つ動的オブジェクトのリストをつくってみましょう。動的オブジェクトのデータを格納するためのヒープを確保するのに標準Cライブラリ関数を使ってみようというのが目的です。Mac OS Xでは標準だというので、様子を見るのも悪くないでしょう。もちろん、Mac OS 9.x以前でも使えます。ソースコードのダウンロードはこちら。ブラウザで見たい方はこちら。 メモリーを確保する関数はmalloc()で、これを解放する関数はfree()です。C言語プログラミングではおなじみの関数です。これらは、StdCLibという名前のPEFシェアードライブラリから呼び出せるようになっています。そこで、冒頭でこれらを宣言します。 Library StdCLib LibCall malloc { size -- addr } LibCall free { addr -- } 一応、単独の動的オブジェクトの生成にも使えるようなポインタクラスをつくってみましょう。上位クラスはLongWordとします。4バイト幅のデータクラスのおおもとになるクラスです。ここで定義するのもポインタクラスですから、Mopsでのポインタの規約に合わせて、空っぽのときにはnilPを格納しておくようにします。ClassInit メソッドとFreeHeap メソッドでそれを行います。もちろん、FreeHeap メソッドでは、free()でヒープも解放します。 オブジェクトを生成する際には、クラスの長さ+オブジェクトヘッダの長さ分のメモリーを確保して、make_objでオブジェクトデータを流し込みます。ObjPtrListクラスで各項目に対してしたのことと同じです。 Release とReleaseObj は同じ内容にして、まずオブジェクトにそのクラスなりのRelease を送ってからFreeHeap します。 m ReleaseObj ( -- ) nil? Self ?EXIT\ もう解放されていたら何もしない obj self Release **\ まず動的オブジェクトにRelease FreeHeap Self\ オブジェクトに割当てられていたヒープメモリ全体を解放 ;m ここで定義されたDyObjPtrクラスのインスタンスは、ポインタ版 ObjHandleとして使うことができると思います。デバッグ用のメソッドとか、シリアライズ関係のメソッドはありませんが、クラスXTを引数にしてNewObj メッセージを送れば、動的オブジェクトが生成されますし、Obj メッセージでオブジェクトのベースアドレスを取る方法で、メソッドをバインドすることができます。 これをリスト化するには、このDyObjPtrクラスを第一位に、(PHLIST)クラスを第二位にして二重継承した新しいクラスをつくれば、だいたいおしまいです。ただ、この継承の順番は重要です。インデックス付きのクラスをつくるには、大抵、項目となるオブジェクトのクラスを第一順位、そのタイプのリストのためのジェネリッククラスを第二順位に多重継承するようになっています。 もちろん、リスト固有のメソッドも定義しておかなければなりません。ただ、これは、ObjPtrListクラスをつくったときの話で尽きているので、合わせて参照してください。 関連項目: 動的オブジェクトリストクラスの自作1 トップページへ 目次へ
https://w.atwiki.jp/sampleisbest/pages/123.html
開発環境 Microsoft Visual C++ 2010 Express (SP1) 実行環境 Microsoft Windows XP Home Edition (SP3) プロジェクトの種類 Win32 コンソール アプリケーション プロジェクト名 helloasm アプリケーションの種類 コンソール アプリケーション 追加のオプション 空のプロジェクト プロジェクト新規作成時「Win32 コンソール アプリケーション」を選択する。 デフォルトのエントリポイントは_mainCRTStartupになる。 それはCRT(C Run-Time)ライブラリに入っていて、そこから_mainが呼ばれる。 CRTライブラリの初期化、入出力の準備、コマンド引数の準備などが行われる。 プロジェクトのプロパティ 構成プロパティ/リンカー/入力/追加の依存ファイル:libcmt.lib ※少なくともVS2005にはシングルスレッドCRT(libc.lib)は使用されなくなった 最初に指定されているkernel32.libなどは全部削除しても構わない。必要になった時に追加すればいい。 参考 CX's Hello, World! » MASM プログラムはどこから始まるの? helloasm.asm ; helloasm.asm .model flat extrn_printf proc .data fmtdb [%s] , 0ah, 0 msgdb hello, world , 0 .code _mainproc pushoffset msg pushoffset fmt call_printf addesp, 8 xoreax, eax ret0 _mainendp end 出力 [hello, world]
https://w.atwiki.jp/natsutan/pages/46.html
概要 Tclシステムのオブジェクトの定義 tcl/generic/tcl.h メンバー int refCount;0の時、オブジェクトはfreeされる。 char *bytes;オブジェクトの文字列表現の最初のバイトを指すポインタ。この配列は、null byteが続かないといけない。しかし、組み込まれたnull moji文字を含むだろう。この配列は、ckallocでアロケートされる。NULLは、文字列表現が不正で中間表現から再生成する必要があることを意味する。クライアントは、Tcl_GetStringFromObj か Tcl_GetString で文字列情報を読み出せる。 int length; *byteのバイト数を示す。最後のnullは含まない。 Tcl_ObjType *typePtr; オブジェクトの内部表現の型を示す。NULLは、内部表現の型を持っていない(形無し)をしめす。 union internalRep; オブジェクトの内部表現 union internalRep メンバー long longValue; long; 整数の値 double doubleValue; doubleの値 VOID *otherValuePtr;他の型が記述する値 Tcl_WideInt wideValue; long long の値。 struct {VOID *ptr1;VOID *ptr2} twoPtrValue; struct {VOID *ptr;unsigned long value;* ソース /* * One of the following structures exists for each object in the Tcl system. * An object stores a value as either a string, some internal representation, * or both. */ typedef struct Tcl_Obj { int refCount;/* When 0 the object will be freed. */ char *bytes;/* This points to the first byte of the * object s string representation. The array * must be followed by a null byte (i.e., at * offset length) but may also contain * embedded null characters. The array s * storage is allocated by ckalloc. NULL means * the string rep is invalid and must be * regenerated from the internal rep. Clients * should use Tcl_GetStringFromObj or * Tcl_GetString to get a pointer to the byte * array as a readonly value. */ int length;/* The number of bytes at *bytes, not * including the terminating null. */ Tcl_ObjType *typePtr;/* Denotes the object s type. Always * corresponds to the type of the object s * internal rep. NULL indicates the object has * no internal rep (has no type). */ union {/* The internal representation */ long longValue;/* - an long integer value. */ double doubleValue;/* - a double-precision floating value. */ VOID *otherValuePtr;/* - another, type-specific value. */ Tcl_WideInt wideValue;/* - a long long value. */ struct {/* - internal rep as two pointers. */ VOID *ptr1; VOID *ptr2; } twoPtrValue; struct {/* - internal rep as a wide int, tightly * packed fields. */ VOID *ptr;/* Pointer to digits. */ unsigned long value;/* Alloc, used, and signum packed into a * single word. */ } ptrAndLongRep; } internalRep; } Tcl_Obj;
https://w.atwiki.jp/miracle_mikuru/pages/38.html
・リンク中に以下のリンクエラーが出る場合 nafxcwd.lib(afxmem.obj) error LNK2005 "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) はすでに LIBCMTD.lib(new.obj) で定義されています nafxcwd.lib(afxmem.obj) error LNK2005 "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) はすでに LIBCMTD.lib(dbgdel.obj) で定義されています プロジェクト→設定→リンク→インプット オブジェクト/ライブラリモジュール Nafxcwd.lib Libcmtd.lib 無視するライブラリ Nafxcwd.lib,Libcmtd.lib
https://w.atwiki.jp/chugoku/pages/76.html
「だんだん重くなる」場合は、タスクマネージャ(ctrl+alt+delete)のメモリが一方的に増えていないか確認すること。 C言語ではブロック { }の中で宣言した変数はスタック上に作られる。 { }を抜ければスタックの巻き戻しをして{ }に入る前の位置までスタックが指すポインタは巻戻っている。 だから、スタックの使用領域は増えない。(自動変数) 一方、mallocな関数はヒープ領域といって実行時に動的にメモリを使ったり、開放したりするメモリの領域。 この領域は開放しないと再利用できない(スタックは自動的に巻き戻しがおこるが)。 そのプロセスが終了するときにはOSが開放してくれるが、長く動くサービスのようなアプリケーションは通常「固まる」「重い」症状がでる。 そのため、タスクマネージャで動作を確認し解決すべきだ。 OpenCVの関数名に create clone load alloc を含むと疑おう。 メモリーリークの問題にぶちあたらないようにコンパイル、実行したらタスクマネージャでメモリを監視しよう。 このような関数を使ったら release free を使おう。 メモリ解放済みの変数を解放てもエラーにならない。 ただし、 NULLを開放しようとすると Bad argument のエラーのメッセージボックスがでる。 また、cvReleaseeImageなんかはポインタのポインタ。freeはポインタが引数。 void cvRelease( void** struct_ptr ); void cvReleaseMemStorage( CvMemStorage** storage ); void cvReleaseImage( IplImage** image ); void free(void *ptr);//これはCのstring.hのライブラリ関数 終了後固まる場合はカメラの開放ができていないことがおおい。 cvReleaseCapture( capture); 関連 動画シリーズ コーナーの検出 動画シリーズ ビデオのwhile(1){ }の繰り返しがあるコードの注意点 名前 コメント 「今日の訪問数 - 」 「昨日の訪問数 - 」 「今までの訪問数 - 」
https://w.atwiki.jp/openmusic/pages/161.html
ALEA IFS-LIB Arguments data [generic-function] Library of data for use with the module IFSx The input of this module is a list of menu options which allow the user to select a particular model of linear transformation. The output of this module is a list containing seven sub-lists. It should be noted that each transformation is composed of two matrices A = | a1 b1| and t = |e1| and one associated probability p1 | c1 d1| |f1| where A is a space transformation and t is a translation. The output list corresponds to seven groups of data ((a1 a2 a3 ... an) (b1 b2 b3 ... bn) (c1 c2 c3 ... cn) (d1 d2 d3 ... dn) (e1 e2 e3 ... en) (f1 f2 f3 ... fn) (p1 p2 p3 ... pn)), where ÔnÕ is the number of transformation which make up the system. The module ifs-lib offers 19 basic models, each with its own attractor. Great part of this data were from a private library of Mikael Laurson